package cn.gg.benchmark.cases;

/**
 * <code>CaseFactory</code>是Case的工厂类，负责根据Case的代码创建相应的Case。
 * 由于整个测试项目中，测试的Case很多，将来很可能还会加入更多的Case，有必要用一个工厂对各case进行管理。<br>
 * 使用工厂类的一个好处就是：整个创建过程不涉及到case的具体子类,达到封装效果,也就减少错误修改的机会。<br>
 * <br>
 * 整个Case工厂的生产过程使用同一的抽象产品接口<code>IBenchmarkable</code>
 * 。这里的产品接口定义的越抽象越好，因为具体事情做得越多,越容易范错误；反过来越笼统、越抽象，回旋余地更大、更灵活，范错误可能性就越少。
 * 
 * @see IBenchmarkable
 * @author Jarod Yv
 */
public class CaseFactory {
	/**
	 * Case工厂的生产方法。<br>
	 * 所有产品使用统一的产品接口--<code>IBenchmarkable</code>
	 * 
	 * @param caseCode
	 *            Case的代码
	 * @return 返回与代码相对应的Case实例
	 */
	public static IBenchmarkable createCase(int caseCode) {
		IBenchmarkable benchmark = null;
		// TODO 根据不同的Case代码，创建相应的Case。
		switch (caseCode) {
		default:
			break;
		}
		return benchmark;
	}
}
